
﻿using SmartWMS.Common.ResponseOutput;
using SmartWMS.Domain.BasicsDatum;
using SmartWMS.Server.BasicsDatumServer.LocationServer.Dto;
using System;

﻿using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SmartWMS.Server.BasicsDatumServer.LocationServer
{
    public interface ILocationServers : ITransientServer
    {

        /// <summary>
        /// 仓库下拉
        /// </summary>
        /// <returns></returns>
        Task<List<Warehouse>> GetWarehousBoxAsync();
        /// <summary>
        /// 库位管理列表
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>

        Response<List<LocationDtoPes>> GetLocationDtoPes(PaginationDto dto);
        /// <summary>
        /// 添加库位
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
         Task<Response<bool>> AddLocationAsync(LocationDtoPes dto);
        /// <summary>
        /// 反填库位
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Response<LocationDtoPes> RackLocation(LocationDtoPes dto);
        /// <summary>
        /// 修改库位
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
         Task<Response<bool>> UpdateLocationAsync(LocationDtoPes dto);
        /// <summary>
        /// 修改库位状态
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> UpdateLocationIsDisable(LocationDtoPes dto);
        /// <summary>
        /// 库位删除
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Response<bool>> DeleteLocationIsDisable(LocationDtoPes dto);
        /// <summary>
        /// 批量删除库位
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        Task<Response<bool>> DeletesLocationIsDisable(LocationDtoPes dto);

    }
}
